package org.jeecgframework.web.system.pojo.base;

import java.math.BigDecimal;
import java.util.Date;
import java.lang.String;
import java.lang.Double;
import java.lang.Integer;
import java.math.BigDecimal;
import javax.persistence.*;
import javax.xml.soap.Text;
import java.sql.Blob;
import java.util.List;

import org.codehaus.jackson.annotate.JsonIgnore;
import org.hibernate.annotations.GenericGenerator;
import org.jeecgframework.poi.excel.annotation.Excel;

/**   
 * @Title: Entity
 * @Description: 合同SLA
 * @author onlineGenerator
 * @date 2017-12-22 14:49:11
 * @version V1.0   
 *
 */
@Entity
@Table(name = "CBS_CONTRACT_SLA", schema = "")
@SuppressWarnings("serial")
public class CbsContractSlaEntity implements java.io.Serializable {
	/**主键*/
	private String id;
	/**合同ID*/
	@Excel(name="合同ID")
	private String contractId;
	/**服务条款名称*/
	@Excel(name="服务条款名称")
	private String serviceName;
	/*仅做显示用*/
	private String sName;
	/**是否使用中*/
	@Excel(name="是否使用中")
	private Integer isUse;
	/**包含选项*/
	@Excel(name="包含选项")
	private String serviceItem;
	/*仅做显示用*/
	private String[] serviceItems;
	/**是否默认包含*/
	@Excel(name="是否默认包含")
	private Integer contain;
	/**标准说明*/
	@Excel(name="标准说明")
	private String description;
	/*仅做显示用*/
	private String descrip;
    /**备注*/
    @Excel(name="备注")
    private String memo;
	/**增减项说明*/
	@Excel(name="增减项说明")
	private String supplement;
	/*仅做显示用*/
	private String supple;
	/**创建人名称*/
	private String createName;
	/**创建人登录名称*/
	private String createBy;
	/**创建日期*/
	private Date createDate;
	/**更新人名称*/
	private String updateName;
	/**更新人登录名称*/
	private String updateBy;
	/**更新日期*/
	private Date updateDate;

	private List<SlaContractEntity> slaContractList;

	@JsonIgnore
	@OneToMany(mappedBy="slaId",fetch = FetchType.LAZY,cascade={CascadeType.REMOVE})
	public List<SlaContractEntity> getSlaContractList() {
		return slaContractList;
	}

	public void setSlaContractList(List<SlaContractEntity> slaContractList) {
		this.slaContractList = slaContractList;
	}

	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  主键
	 */
	@Id
	@GeneratedValue(generator = "paymentableGenerator")
	@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
	@Column(name ="ID",nullable=false,length=36)
	public String getId(){
		return this.id;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  主键
	 */
	public void setId(String id){
		this.id = id;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  合同ID
	 */
	@Column(name ="CONTRACT_ID",nullable=true,length=36)
	public String getContractId(){
		return this.contractId;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  合同ID
	 */
	public void setContractId(String contractId){
		this.contractId = contractId;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  服务条款名称
	 */
	@Column(name ="SERVICE_NAME",nullable=true,length=100)
	public String getServiceName(){
		return this.serviceName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  服务条款名称
	 */
	public void setServiceName(String serviceName){
		this.serviceName = serviceName;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  是否使用中
	 */
	@Column(name ="IS_USE",nullable=true,length=1)
	public Integer getIsUse(){
		return this.isUse;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  是否使用中
	 */
	public void setIsUse(Integer isUse){
		this.isUse = isUse;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  包含选项
	 */
	@Column(name ="SERVICE_ITEM",nullable=true,length=200)
	public String getServiceItem(){
		return this.serviceItem;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  包含选项
	 */
	public void setServiceItem(String serviceItem){
		this.serviceItem = serviceItem;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  是否默认包含
	 */
	@Column(name ="CONTAIN",nullable=true,length=1)
	public Integer getContain(){
		return this.contain;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  是否默认包含
	 */
	public void setContain(Integer contain){
		this.contain = contain;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  标准说明
	 */
	@Column(name ="DESCRIPTION",nullable=true,length=32)
	public String getDescription(){
		return this.description;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  标准说明
	 */
	public void setDescription(String description){
		this.description = description;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  增减项说明
	 */
	@Column(name ="SUPPLEMENT",nullable=true,length=200)
	public String getSupplement(){
		return this.supplement;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  增减项说明
	 */
	public void setSupplement(String supplement){
		this.supplement = supplement;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  创建人名称
	 */
	@Column(name ="CREATE_NAME",nullable=true,length=50)
	public String getCreateName(){
		return this.createName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  创建人名称
	 */
	public void setCreateName(String createName){
		this.createName = createName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  创建人登录名称
	 */
	@Column(name ="CREATE_BY",nullable=true,length=50)
	public String getCreateBy(){
		return this.createBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  创建人登录名称
	 */
	public void setCreateBy(String createBy){
		this.createBy = createBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  创建日期
	 */
	@Column(name ="CREATE_DATE",nullable=true,length=20)
	public Date getCreateDate(){
		return this.createDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  创建日期
	 */
	public void setCreateDate(Date createDate){
		this.createDate = createDate;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  更新人名称
	 */
	@Column(name ="UPDATE_NAME",nullable=true,length=50)
	public String getUpdateName(){
		return this.updateName;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  更新人名称
	 */
	public void setUpdateName(String updateName){
		this.updateName = updateName;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  更新人登录名称
	 */
	@Column(name ="UPDATE_BY",nullable=true,length=50)
	public String getUpdateBy(){
		return this.updateBy;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  更新人登录名称
	 */
	public void setUpdateBy(String updateBy){
		this.updateBy = updateBy;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  更新日期
	 */
	@Column(name ="UPDATE_DATE",nullable=true,length=20)
	public Date getUpdateDate(){
		return this.updateDate;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  更新日期
	 */
	public void setUpdateDate(Date updateDate){
		this.updateDate = updateDate;
	}

	@Transient
	public String[] getServiceItems() {
		return serviceItems;
	}

	public void setServiceItems(String[] serviceItems) {
		this.serviceItems = serviceItems;
	}

    @Column(name ="memo",nullable=true)
    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo;
    }

	@Transient
	public String getsName() {
		return sName;
	}

	public void setsName(String sName) {
		this.sName = sName;
	}

	@Transient
	public String getDescrip() {
		return descrip;
	}

	public void setDescrip(String descrip) {
		this.descrip = descrip;
	}

	@Transient
	public String getSupple() {
		return supple;
	}

	public void setSupple(String supple) {
		this.supple = supple;
	}
}
